/* 引入页面 */

/* 登录 */  /* 一级路由 */
import Login from '../views/login/Login';
/* 首页 */
import Home from '../views/home/Home';

// import Page403 from '../views/forbidden/Forbidden';
// import Page404 from '../views/notFound/NotFound';

/* 引入路由菜单 */
import menus from './menu';

/* 引入类型文件 */
import { IMenuItem, IRouterItem } from '../utils/interface';

/* 生成router */
function geneRouter(menus: IMenuItem[]) {
    /* 声明一个空数组 */
    let routes: IRouterItem[] = [];
    /* 循环路由菜单 */
    menus.forEach(item => {
        /* console.log("menus...", item); */

        /* 循环children */
        item.children.forEach(value =>  value.component = value.meta.component );
        /* 合并数组 */
        routes = routes.concat(item.children as IRouterItem[]);
    })
    return routes;
};

/* 获取路由菜单第一个子级路由 */
function getFirstChild(menus: IMenuItem[]) {

     /* console.log(menus[0].children[0].path);  */
    
    return menus[0].children[0].path;
};

/* 配置路由表 */
const routerConfig = {
    routes: [
        /* 登录 */
        {
            path: '/login',
            component: Login
        },
        /* 主页 */
        {
            path: '/home',
            component: Home,
            children: geneRouter(menus)
        },
        /* 默认登录页面 */
        {
            path: '/',
            redirect: getFirstChild(menus)
         },//{
        //     path: '/403',
        //     component: Page403
        // }, {
        //     path: '*',
        //     component: Page404
        // }
    ]
}
/* 导出 */
export default routerConfig;